1. Field Of The Invention
The present invention relates to a page analysis system for analyzing image data of a document page utilizing block selection, and particularly to such a system in which, prior to block selection, various parameters of the block selection application are designated, such as document type, memory space, document portion to be analyzed, etc. As a result, block selection processing is more accurate.
2. Description of The Related Art
Recently developed block selection techniques, such as the techniques described in the aforementioned U.S. patent application Ser. Nos. 07/873,012 and 08/171,720, are used in page analysis systems to provide automatic analysis of images within a document page in order to distinguish between different types of image data within the document page. The result of such a block selection technique is used to determine the type of subsequent processing to be performed on the image, such as optical character recognition (OCR), data compression, data routing, etc. For example, image data which is designated as text data will be subjected to OCR processing, whereas image data which is designated as picture data would not be. subjected to OCR processing. As a result, different types of image data can be input and automatically processed without an operator's intervention.
An example of how a block selection technique operates, such as the ones referenced above, will be discussed below with respect to FIGS. 1-3.
FIG. 1 shows the page of a representative document. Document page 101 is arranged in a two-column format. The page includes title 102, horizontal line 104, text areas 105, 106 and 107, which include lines of text data, halftone picture area 108, which includes a graphic image which is non-text, table 110, which includes text information, framed area 116, halftone picture area 121 accompanied by caption data 126, and picture areas 132 and 135 accompanied by caption data 137.
According to the block selection techniques described in Ser. Nos. 07/873,012 and 08/171,720, each area of document page 101 is designated in accordance with a type of image data obtained therein and image data is then segmented based on its respective type. As the block selection application processes the document page, a hierarchical tree structure is created as shown in FIG. 2.
In FIG. 2, hierarchical tree structure 200 contains a plurality of nodes which represent segmented blocks of image data. Each node of the tree contains feature data which defines the feature of each block of image data in the processed document page. For example, the feature data may include block location data, size data, attribute data (image type, such as text, picture, table, etc.), sub-attribute data, and child node and parent node pointers. In the present invention, child or "descendent" nodes represent image data which exist entirely within a larger block of image data. Child nodes are depicted in the hierarchical tree structure as a node branching from a parent node, such as the nodes at the same level as node 211, which branch from parent or root node 201. In addition to the feature data described above, a node which represents a text block may also contain feature data defining the block's reading orientation and reading order.
Once a hierarchical tree structure, such as hierarchical tree structure 200, has been created, it is stored in memory. Upon receiving a request to process the image data in the document image, hierarchical tree structure 200 is retrieved from memory and image data which has been blocked together is processed according to the feature data stored in its corresponding node.
In addition to using the hierarchical tree structure to process image data of a document page, the hierarchical tree structure is used to generate and display a comprehensible format of document page 101, such as the display of block template 301 on display 300 which is shown in FIG. 3. Block template 301 of the document page is generated and displayed to the user based on the feature data stored in the hierarchical tree structure shown in FIG. 2.
The block template of the document page directly reflects the structure of the hierarchical tree as well as the feature data stored in each node of the hierarchical tree structure. The feature data in the node is utilized to generate the block outline, location, and size. In addition, feature data in each node is used to identify the type of image data contained within the block and, if appropriate, reading order and reading orientation. For example, as shown in FIG. 3, block template 301 includes text blocks 302, 304, 305 and 309, each of which corresponds to nodes 202, 204, 205 and 209, respectively. As shown, each text block includes feature data which designate the block as text and also define a block's reading order and reading orientation.
In the foregoing block selection techniques, difficulties have been encountered. For example, erroneous block selection processing of text data results in poor OCR processing. Also erroneous processing of joint-lines (lines which are connected at a 90.degree. angle, and which do not form a frame) creates problems when extracting image data to be processed. Moreover, the previously discussed block selection techniques do not inform the user of application errors which inhibit block selection, such as "out-of-memory" or "page skew too large". There is, therefore, a need to provide a block selection application which includes features to address the foregoing problems.